home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 54809 / 54809.xpi / chrome / dictCheck-0.0.6.005.jar / content / libs.js < prev   
Text File  |  2010-02-14  |  5KB  |  199 lines

  1.  
  2. if(!com) var com={};
  3. if(!com.ksla) com.ksla={};
  4.  
  5. com.ksla.libs = function(){
  6.  
  7.     // FLAGS TO BE SET
  8.     const ENABLE_LOGGING = false ;
  9.     const PROGRAM_LABEL_PREFIX = "DICTCHECK"; // example 'DICTCHECK'
  10.  
  11.     //-------------------------
  12.     var consoleService = null;
  13.  
  14.     var myParser = {
  15.         parsedDoc : null,
  16.         parser : new DOMParser(),
  17.         parse : function(txt){
  18.             parsedDoc = parser.parseFromString(txt,"text/xml");
  19.              if(parsedDoc.documentElement.tagName == "parsererror"){
  20.                  var parseErrorText = parsedDoc.documentElement.firstChild.data;
  21.                 parseErrorText += "\n" + parsedDoc.documentElement.firstChild.nextSibling.firstChild.data;
  22.                 alert(parseErrorText);
  23.                 return null;
  24.              }
  25.              else return parsedDoc;
  26.         }    
  27.     };
  28.  
  29.     function parseCurrentDate(date){
  30.         var t = null;
  31.         if (date==null){
  32.             return null;
  33.         }
  34.         var h = date.getHours();
  35.         if (h <= 9) {
  36.             h = '0' + h;
  37.         }
  38.         var m = date.getMinutes();
  39.         if (m <= 9) {        
  40.             m = '0' + m;
  41.         }
  42.         var s = date.getSeconds();
  43.         if (s <= 9) {
  44.             s = '0' + s;
  45.         }
  46.         var milis = date.getMilliseconds();
  47.         if (9 < milis && milis <= 99) {
  48.             milis = '0' + milis;
  49.         }
  50.         else if (milis <= 9) {
  51.             milis = '00' + milis;
  52.         }    
  53.         t = h + ':' + m + ':' + s + '.' + milis;
  54.         return t;
  55.     }
  56.  
  57.     function logi(msg){
  58.         dump('[INFO]  <' + parseCurrentDate(new Date()) +'> [' + msg + ']\n');
  59.     }
  60.  
  61.     function logw(msg){
  62.         dump('[WARN]  <' + parseCurrentDate(new Date()) +'> [' + msg + ']\n');
  63.     }
  64.  
  65.     function logd(msg){
  66.         dump('[DEBUG] <' + parseCurrentDate(new Date()) +'> [' + msg + ']\n');
  67.     }
  68.  
  69.     function loge(msg){
  70.         dump('[ERROR] <' + parseCurrentDate(new Date()) +'> [' + msg + ']\n');
  71.     }
  72.  
  73.  
  74.     function initConsoleService()
  75.     {
  76.             if (consoleService == null) {
  77.                 consoleService = Components.classes["@mozilla.org/consoleservice;1"].getService( Components.interfaces.nsIConsoleService);
  78.                 return true;
  79.             }
  80.             return false;                                 
  81.     }
  82.  
  83.     function dumpi(aMessage)
  84.     {
  85.             if(ENABLE_LOGGING == false) return ;
  86.             initConsoleService();
  87.             consoleService.logStringMessage('[INFO]  <'+ parseCurrentDate(new Date()) +'> '+PROGRAM_LABEL_PREFIX+' [' + aMessage + ']');
  88.             logi(aMessage);
  89.     }
  90.  
  91.     function dumpw(aMessage)
  92.     {
  93.             if(ENABLE_LOGGING == false) return ;
  94.             initConsoleService();
  95.             consoleService.logStringMessage('[WARN]  <'+ parseCurrentDate(new Date()) +'> '+PROGRAM_LABEL_PREFIX+' [' + aMessage + ']');
  96.             logw(aMessage);
  97.     }
  98.  
  99.     function dumpd(aMessage)
  100.     {
  101.             if(ENABLE_LOGGING == false) return ;
  102.             initConsoleService();
  103.             consoleService.logStringMessage('[DEBUG] <'+ parseCurrentDate(new Date()) +'> '+PROGRAM_LABEL_PREFIX+' [' + aMessage + ']');
  104.             logd(aMessage);
  105.     }
  106.  
  107.     function dumpe(aMessage)
  108.     {
  109.             if(ENABLE_LOGGING == false) return ;
  110.             initConsoleService();
  111.             consoleService.logStringMessage('[ERROR] <'+ parseCurrentDate(new Date()) +'> '+PROGRAM_LABEL_PREFIX+' [' + aMessage + ']');
  112.             loge(aMessage);
  113.     }
  114.  
  115.  
  116.     function trim(str){
  117.             var    str = String(str).replace(/^\s\s*/, ''),
  118.             ws = /\s/,
  119.             i = str.length;
  120.             while (ws.test(str.charAt(--i)));
  121.             return str.slice(0, i + 1);
  122.     }
  123.  
  124.  
  125.     function openInNewTab(url, focus) {
  126.         var wm = Cc['@mozilla.org/appshell/window-mediator;1'].
  127.             getService(Ci.nsIWindowMediator);
  128.         var topWindow = wm.getMostRecentWindow('navigator:browser');
  129.         if (topWindow) {
  130.             var content = topWindow.document.getElementById('content');
  131.             content.selectedTab = content.addTab(url);        
  132.             if (focus) {
  133.                 topWindow.focus();
  134.             }
  135.         }
  136.     };
  137.  
  138.     function goURL(url){
  139.         // first construct an nsIURI object using the ioservice
  140.         var ioservice = Components.classes["@mozilla.org/network/io-service;1"]
  141.         .getService(Components.interfaces.nsIIOService);
  142.         var uriToOpen = ioservice.newURI(url, null, null);
  143.         var extps = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]
  144.         .getService(Components.interfaces.nsIExternalProtocolService);
  145.         if (extps.externalProtocolHandlerExists("http")) {
  146.         // Handler for http:// URLs exists
  147.             // now, open it!
  148.             extps.loadURI(uriToOpen, null);
  149.         }    
  150.     }
  151.  
  152.     function escapeToLatin1(str){
  153.         if((str == null) || (str.length == 0) ) 
  154.         var str = String(str);
  155.         str = str.replace(/─ä/, '%a1');
  156.         str = str.replace(/─à/, '%b1');
  157.         str = str.replace(/─å/, '%c6');
  158.         str = str.replace(/─ç/, '%e6');
  159.         str = str.replace(/─ÿ/, '%ca');
  160.         str = str.replace(/─Ö/, '%ea');
  161.         str = str.replace(/┼ü/, '%a3');
  162.         str = str.replace(/┼é/, '%b3');
  163.         str = str.replace(/┼â/, '%d1');
  164.         str = str.replace(/┼ä/, '%f1');
  165.         str = str.replace(/├ô/, '%d3');
  166.         str = str.replace(/├│/, '%f3');
  167.         str = str.replace(/┼Ü/, '%a6');
  168.         str = str.replace(/┼¢/, '%b6');
  169.         str = str.replace(/┼╣/, '%ac');
  170.         str = str.replace(/┼║/, '%bc');
  171.         str = str.replace(/┼╗/, '%af');
  172.         str = str.replace(/┼╝/, '%bf');    
  173.         return str;    
  174.     };
  175.     
  176.     
  177.     ///****************************
  178.     // public memebers and methods 
  179.     ///****************************
  180.     return {
  181.         // variables
  182.         
  183.         //functions
  184.         dumpi:dumpi,
  185.         dumpw:dumpw,
  186.         dumpe:dumpe,
  187.         dumpd:dumpd,
  188.         trim:trim,
  189.         openInNewTab:openInNewTab,
  190.         goURL:goURL,
  191.         escapeToLatin1:escapeToLatin1
  192.     }
  193.     //-----------------------------
  194.     
  195. ///****************************
  196. // end of com.ksla.libs
  197. ///****************************
  198. }();
  199.